<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// - **函数名**：命名规则同变量名一致。
	// - **函数体**： 函数的内容，代码块。
	// - **参数**： 分为**形参**和**实参**。
	// 	* 形参：声明函数的时候，给的参数， 类似于变量名；在声明函数的时候，参数是没有值。
	// 	- 实参：调用函数时给的参数； 实参会按照顺序赋值给形参。
	// function fn(a,b,c){
	// 	// a b c ：形参
	// }
	// fn(1,2,3);// 1 2 3 ：实参
	
	
	
	// 注意1：如果实参数量大于形参数量， 多出来的实参，将被忽略。如果实参数量小于形参数量， 有的形参没有对应的实参，取默认值 undefined。
	
	
	// 如果实参数量大于形参数量， 多出来的实参，将被忽略
	// function fn(a,b,c){
	// 	console.log(a,b,c);// 1 2 3
	// 	console.log([...arguments])// [1,2,3,4,5,6]
	// }
	// fn(1,2,3,4,5,6);
	
	// 如果实参数量小于形参数量， 有的形参没有对应的实参，取默认值 undefined
	// function fn(a,b,c){
	// 	console.log(a,b,c);// 1 undefined undefined
	// }
	// fn(1);
	
	// 注意2： JS函数允许形参有默认值，有默认值的形参，在调用函数的时候，可以没有与之对应的实参！
	// function fn(a=1,b=2,c=3){
	// 	console.log(a,b,c);// 100 2 3
	// }
	// fn(100);
	
	
	// **返回值**：函数调用表达式的结果
	// * `函数名()` 被称之为**函数调用表达式**， 表达式的值就是函数的**返回值**。
	// // 定义了函数fn
	// function fn(){
	//
	// }
	// // 函数调用表达式
	// // fn();
	// // 调用函数表达式，并将结果进行输出
	// console.log(fn());
	
	
	// * 在函数体内，`return` 右边的表达式（或变量、直接量）便是函数的返回值。
	// function run(){
	// 	return 100;
	// }
	// function fn(){
	// 	// return 1;// 直接量
	// 	// return "str";// 直接量
	// 	// return true;// 直接量
	// 	// return run();//调用函数表达式
	// 	return 1===1?100:200
	// }
	// console.log(fn());//
	
	// * 函数体内没写 `return` 或者 `return` 的右边是空的，默认会返回 `undefined`。
	// * `return` 除了设置返回值外，还可以结束函数的执行，return 之后的代码不会执行。
	function fn(){
		return;// 函数休中的代码结束执行。
		console.log(100);//  不会执行
	}
	fn();
	
</script>
</html>